[INFO] cloning repository https://github.com/mmastrac/rust-ctor
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mmastrac/rust-ctor" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmmastrac%2Frust-ctor", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmmastrac%2Frust-ctor'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cec95c4ed5b405874e9163ff568fc58d2d3b072f
[INFO] fixing mmastrac/rust-ctor against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmmastrac%2Frust-ctor" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-0-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/mmastrac/rust-ctor
[INFO] finished tweaking git repo https://github.com/mmastrac/rust-ctor
[INFO] tweaked toml for git repo https://github.com/mmastrac/rust-ctor written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mmastrac/rust-ctor on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mmastrac/rust-ctor already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 148b0462804af235adf88c896eb51bff0a4bc2cd1b43bd12c87e00383b880879
[INFO] running `Command { std: "docker" "start" "148b0462804af235adf88c896eb51bff0a4bc2cd1b43bd12c87e00383b880879", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "148b0462804af235adf88c896eb51bff0a4bc2cd1b43bd12c87e00383b880879" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "148b0462804af235adf88c896eb51bff0a4bc2cd1b43bd12c87e00383b880879", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "148b0462804af235adf88c896eb51bff0a4bc2cd1b43bd12c87e00383b880879" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating ctor/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating link-section/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating linktime-proc-macro/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating dtor/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating macro-magic/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating linktime/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]    Compiling linktime-proc-macro v0.2.0 (/opt/rustwide/workdir/linktime-proc-macro)
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]     Checking getrandom v0.4.2
[INFO] [stderr]    Compiling target-triple v1.0.0
[INFO] [stderr]    Migrating linktime-proc-macro/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking diff v0.1.13
[INFO] [stderr]     Checking libc-print v0.5.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking safe_arch v1.0.0
[INFO] [stderr]     Checking xxhash-rust v0.8.15
[INFO] [stderr]     Checking condtype v1.3.0
[INFO] [stderr]     Checking regex-lite v0.1.9
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking vt-push-parser v0.13.1
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling derive-io-macros v0.5.0
[INFO] [stderr]     Checking dirs v6.0.0
[INFO] [stderr]     Checking termsize v0.1.9
[INFO] [stderr]     Checking utf8-supported v1.0.0
[INFO] [stderr]     Checking keepcalm v0.4.1
[INFO] [stderr]     Checking signal-child v1.0.6
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking shellish_parse v2.2.0
[INFO] [stderr]     Checking wide v1.4.0
[INFO] [stderr]     Checking tests v0.1.0 (/opt/rustwide/workdir/tests)
[INFO] [stderr]     Checking derive-io v0.5.0
[INFO] [stderr]     Checking fast-strip-ansi v0.13.1
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> linktime-proc-macro/src/combine/args.rs:334:15
[INFO] [stdout]     |
[INFO] [stdout] 334 |           match item.next() {
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 335 |               Some(TokenTree::Ident(ident)) => match item.next() {
[INFO] [stdout]     |                                                      -----------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 336 |                   Some(TokenTree::Punct(punct)) if punct.as_char() == '=' => {
[INFO] [stdout] 337 | /                     args.insert(
[INFO] [stdout] 338 | |                         ident.to_string(),
[INFO] [stdout] 339 | |                         item.next()
[INFO] [stdout] 340 | |                             .unwrap_or_else(|| panic!("{func}: Expected a value after =")),
[INFO] [stdout] 341 | |                     );
[INFO] [stdout]     | |                     -
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |_____________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 360 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> linktime-proc-macro/src/combine/mod.rs:71:29
[INFO] [stdout]     |
[INFO] [stdout]  71 |     while let Some(token) = input.next() {
[INFO] [stdout]     |                    -----    ^^^^^^^^^^^^
[INFO] [stdout]     |                    |        |
[INFO] [stdout]     |                    |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    `token` calls a custom destructor
[INFO] [stdout]     |                    `token` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 115 |             TokenTree::Group(group) => parse_stream(s, arg, output, group.stream()),
[INFO] [stdout]     |                              -----
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `group` calls a custom destructor
[INFO] [stdout]     |                              `group` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 118 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `token` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `group` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> linktime-proc-macro/src/generate.rs:26:56
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut crate_path = None;
[INFO] [stdout]    |         --------------
[INFO] [stdout]    |         |
[INFO] [stdout]    |         `crate_path` calls a custom destructor
[INFO] [stdout]    |         `crate_path` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 22 |     while let Some(token) = tokens.next() {
[INFO] [stdout]    |                    -----
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    `token` calls a custom destructor
[INFO] [stdout]    |                    `token` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 26 |                 if let Some(TokenTree::Punct(punct)) = tokens.next() {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                                                        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 33 |                                     tokens.next();
[INFO] [stdout]    |                                     -------------
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 45 |             }
[INFO] [stdout]    |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `crate_path` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `token` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> linktime-proc-macro/src/generate.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut crate_path = None;
[INFO] [stdout]    |         --------------
[INFO] [stdout]    |         |
[INFO] [stdout]    |         `crate_path` calls a custom destructor
[INFO] [stdout]    |         `crate_path` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 22 |     while let Some(token) = tokens.next() {
[INFO] [stdout]    |                    -----    ^^^^^^^^^^^^^
[INFO] [stdout]    |                    |        |
[INFO] [stdout]    |                    |        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                    |        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                    `token` calls a custom destructor
[INFO] [stdout]    |                    `token` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 33 |                                     tokens.next();
[INFO] [stdout]    |                                     -------------
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 47 |     }
[INFO] [stdout]    |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `crate_path` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `token` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking link-section v0.18.3 (/opt/rustwide/workdir/link-section)
[INFO] [stderr]     Checking dtor v1.0.5 (/opt/rustwide/workdir/dtor)
[INFO] [stderr]    Compiling grok v2.4.1
[INFO] [stderr]    Migrating tests/test.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> linktime-proc-macro/src/combine/args.rs:334:15
[INFO] [stdout]     |
[INFO] [stdout] 334 |           match item.next() {
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 335 |               Some(TokenTree::Ident(ident)) => match item.next() {
[INFO] [stdout]     |                                                      -----------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 336 |                   Some(TokenTree::Punct(punct)) if punct.as_char() == '=' => {
[INFO] [stdout] 337 | /                     args.insert(
[INFO] [stdout] 338 | |                         ident.to_string(),
[INFO] [stdout] 339 | |                         item.next()
[INFO] [stdout] 340 | |                             .unwrap_or_else(|| panic!("{func}: Expected a value after =")),
[INFO] [stdout] 341 | |                     );
[INFO] [stdout]     | |                     -
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |_____________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 360 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> linktime-proc-macro/src/combine/mod.rs:71:29
[INFO] [stdout]     |
[INFO] [stdout]  71 |     while let Some(token) = input.next() {
[INFO] [stdout]     |                    -----    ^^^^^^^^^^^^
[INFO] [stdout]     |                    |        |
[INFO] [stdout]     |                    |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    `token` calls a custom destructor
[INFO] [stdout]     |                    `token` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 115 |             TokenTree::Group(group) => parse_stream(s, arg, output, group.stream()),
[INFO] [stdout]     |                              -----
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `group` calls a custom destructor
[INFO] [stdout]     |                              `group` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 118 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `token` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `group` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> linktime-proc-macro/src/generate.rs:26:56
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut crate_path = None;
[INFO] [stdout]    |         --------------
[INFO] [stdout]    |         |
[INFO] [stdout]    |         `crate_path` calls a custom destructor
[INFO] [stdout]    |         `crate_path` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 22 |     while let Some(token) = tokens.next() {
[INFO] [stdout]    |                    -----
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    `token` calls a custom destructor
[INFO] [stdout]    |                    `token` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 26 |                 if let Some(TokenTree::Punct(punct)) = tokens.next() {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                                                        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 33 |                                     tokens.next();
[INFO] [stdout]    |                                     -------------
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 45 |             }
[INFO] [stdout]    |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `crate_path` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `token` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> linktime-proc-macro/src/generate.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut crate_path = None;
[INFO] [stdout]    |         --------------
[INFO] [stdout]    |         |
[INFO] [stdout]    |         `crate_path` calls a custom destructor
[INFO] [stdout]    |         `crate_path` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 22 |     while let Some(token) = tokens.next() {
[INFO] [stdout]    |                    -----    ^^^^^^^^^^^^^
[INFO] [stdout]    |                    |        |
[INFO] [stdout]    |                    |        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                    |        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                    `token` calls a custom destructor
[INFO] [stdout]    |                    `token` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 33 |                                     tokens.next();
[INFO] [stdout]    |                                     -------------
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 47 |     }
[INFO] [stdout]    |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `crate_path` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `token` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating link-section/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> linktime-proc-macro/src/combine/args.rs:334:15
[INFO] [stdout]     |
[INFO] [stdout] 334 |           match item.next() {
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 335 |               Some(TokenTree::Ident(ident)) => match item.next() {
[INFO] [stdout]     |                                                      -----------
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 336 |                   Some(TokenTree::Punct(punct)) if punct.as_char() == '=' => {
[INFO] [stdout] 337 | /                     args.insert(
[INFO] [stdout] 338 | |                         ident.to_string(),
[INFO] [stdout] 339 | |                         item.next()
[INFO] [stdout] 340 | |                             .unwrap_or_else(|| panic!("{func}: Expected a value after =")),
[INFO] [stdout] 341 | |                     );
[INFO] [stdout]     | |                     -
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |_____________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 360 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> linktime-proc-macro/src/combine/mod.rs:71:29
[INFO] [stdout]     |
[INFO] [stdout]  71 |     while let Some(token) = input.next() {
[INFO] [stdout]     |                    -----    ^^^^^^^^^^^^
[INFO] [stdout]     |                    |        |
[INFO] [stdout]     |                    |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    `token` calls a custom destructor
[INFO] [stdout]     |                    `token` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 115 |             TokenTree::Group(group) => parse_stream(s, arg, output, group.stream()),
[INFO] [stdout]     |                              -----
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `group` calls a custom destructor
[INFO] [stdout]     |                              `group` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 118 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `token` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `group` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> linktime-proc-macro/src/generate.rs:26:56
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut crate_path = None;
[INFO] [stdout]    |         --------------
[INFO] [stdout]    |         |
[INFO] [stdout]    |         `crate_path` calls a custom destructor
[INFO] [stdout]    |         `crate_path` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 22 |     while let Some(token) = tokens.next() {
[INFO] [stdout]    |                    -----
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    `token` calls a custom destructor
[INFO] [stdout]    |                    `token` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 26 |                 if let Some(TokenTree::Punct(punct)) = tokens.next() {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^
[INFO] [stdout]    |                                                        |
[INFO] [stdout]    |                                                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                                                        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 33 |                                     tokens.next();
[INFO] [stdout]    |                                     -------------
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 45 |             }
[INFO] [stdout]    |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `crate_path` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `token` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> linktime-proc-macro/src/generate.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut crate_path = None;
[INFO] [stdout]    |         --------------
[INFO] [stdout]    |         |
[INFO] [stdout]    |         `crate_path` calls a custom destructor
[INFO] [stdout]    |         `crate_path` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 22 |     while let Some(token) = tokens.next() {
[INFO] [stdout]    |                    -----    ^^^^^^^^^^^^^
[INFO] [stdout]    |                    |        |
[INFO] [stdout]    |                    |        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                    |        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                    `token` calls a custom destructor
[INFO] [stdout]    |                    `token` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 33 |                                     tokens.next();
[INFO] [stdout]    |                                     -------------
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 47 |     }
[INFO] [stdout]    |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `crate_path` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `token` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/proc_macro/src/bridge/client.rs:21:0
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed link-section/src/meta.rs (3 fixes)
[INFO] [stderr]    Migrating dtor/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed link-section/src/lib.rs (5 fixes)
[INFO] [stderr]     Checking ctor v1.0.7 (/opt/rustwide/workdir/ctor)
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]        Fixed dtor/src/native.rs (2 fixes)
[INFO] [stderr]    Migrating ctor/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking linktime v0.17.0 (/opt/rustwide/workdir/linktime)
[INFO] [stderr]    Migrating linktime/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]     Checking serde_spanned v1.1.1
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking toml v1.1.2+spec-1.1.0
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking terminal_size v0.4.4
[INFO] [stderr]     Checking scattered-collect v0.20.0 (/opt/rustwide/workdir/scattered-collect)
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr] warning: `scattered-collect/src/lib.rs` is already on the latest edition (2024), unable to migrate further
[INFO] [stderr] 
[INFO] [stderr] If you are trying to migrate from the previous edition (2021), the
[INFO] [stderr] process requires following these steps:
[INFO] [stderr] 
[INFO] [stderr] 1. Start with `edition = "2021"` in `Cargo.toml`
[INFO] [stderr] 2. Run `cargo fix --edition`
[INFO] [stderr] 3. Modify `Cargo.toml` to set `edition = "2024"`
[INFO] [stderr] 4. Run `cargo build` or `cargo test` to verify the fixes worked
[INFO] [stderr] 
[INFO] [stderr] More details may be found at
[INFO] [stderr] https://doc.rust-lang.org/edition-guide/editions/transitioning-an-existing-project-to-a-new-edition.html
[INFO] [stderr] 
[INFO] [stderr]     Checking macro-magic v0.1.0 (/opt/rustwide/workdir/macro-magic)
[INFO] [stderr]    Migrating macro-magic/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating macro-magic/tests/test_parse_type.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating macro-magic/tests/test_expr.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating macro-magic/tests/test_test.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating macro-magic/tests/test_expand.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating macro-magic/tests/test_item.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating macro-magic/tests/test_macro.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating macro-magic/tests/test_macro_default.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating macro-magic/tests/test_parallel_split.rs from 2021 edition to 2024
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling divan-macros v0.1.21
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Migrating macro-magic/tests/test_separate.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating macro-magic/tests/test_foreach.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating macro-magic/generate_docs.rs from 2021 edition to 2024
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]    Migrating macro-magic/tests/test_zip.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating macro-magic/tests/test_chain.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed macro-magic/tests/test_chain.rs (1 fix)
[INFO] [stderr]     Checking divan v0.1.21
[INFO] [stderr]     Checking fancy-regex v0.14.0
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr] warning: `scattered-collect/examples/sorted_referenced_slice.rs` is already on the latest edition (2024), unable to migrate further
[INFO] [stderr] warning: `scattered-collect/examples/map.rs` is already on the latest edition (2024), unable to migrate further
[INFO] [stderr] warning: `scattered-collect/examples/sorted_slice.rs` is already on the latest edition (2024), unable to migrate further
[INFO] [stderr] warning: `scattered-collect/examples/slice.rs` is already on the latest edition (2024), unable to migrate further
[INFO] [stderr] warning: `scattered-collect/examples/referenced_slice.rs` is already on the latest edition (2024), unable to migrate further
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr] warning: `scattered-collect/examples/set.rs` is already on the latest edition (2024), unable to migrate further
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> scattered-collect/src/map/build.rs:145:22
[INFO] [stdout]     |
[INFO] [stdout] 145 |             unsafe { &mut REFS }.as_mut_slice()
[INFO] [stdout]     |                      ^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 145 |             unsafe { &raw mut REFS }.as_mut_slice()
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking macrotest v1.2.1
[INFO] [stderr]     Checking trybuild v1.0.116
[INFO] [stderr]     Checking clitest-lib v0.6.0
[INFO] [stderr] warning: `scattered-collect/examples/intern_strings.rs` is already on the latest edition (2024), unable to migrate further
[INFO] [stderr] warning: `scattered-collect/benches/map.rs` is already on the latest edition (2024), unable to migrate further
[INFO] [stderr] warning: `scattered-collect/examples/iterable.rs` is already on the latest edition (2024), unable to migrate further
[INFO] [stderr]    Migrating link-section/examples/movable-no-macro.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating link-section/examples/const.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating ctor/examples/ctor-advanced.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating dtor/src/example.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating link-section/examples/example.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating link-section/examples/mut.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating ctor/examples/ctor-dynamic.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating dtor/tests/macrotest.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating ctor/examples/ctor-priority.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating link-section/tests/macrotest.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating link-section/examples/ref.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating ctor/examples/ctor-statics.rs from 2021 edition to 2024
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> ctor/examples/ctor-statics.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         GLOBAL.write(MyStatic::new("foo"));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> ctor/examples/ctor-statics.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         GLOBAL.assume_init_ref()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating link-section/examples/mut-no-macro.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating ctor/examples/ctor-example.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating link-section/examples/movable.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating ctor/examples/ctor-basic.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating ctor/tests/macrotest.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating link-section/examples/dyn.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating link-section/examples/empty.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.52s
[INFO] [stderr] crater-edition-check: ctor v1.0.7 (/opt/rustwide/workdir/ctor) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: link-section v0.18.3 (/opt/rustwide/workdir/link-section) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: linktime-proc-macro v0.2.0 (/opt/rustwide/workdir/linktime-proc-macro) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: dtor v1.0.5 (/opt/rustwide/workdir/dtor) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: macro-magic v0.1.0 (/opt/rustwide/workdir/macro-magic) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: linktime v0.17.0 (/opt/rustwide/workdir/linktime) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: scattered-collect v0.20.0 (/opt/rustwide/workdir/scattered-collect) updating edition from 2024 to 2024
[INFO] [stderr] crater-edition-check: tests v0.1.0 (/opt/rustwide/workdir/tests) updating edition from 2021 to 2024
[INFO] [stderr]    Compiling linktime-proc-macro v0.2.0 (/opt/rustwide/workdir/linktime-proc-macro)
[INFO] [stderr]     Checking macro-magic v0.1.0 (/opt/rustwide/workdir/macro-magic)
[INFO] [stderr]     Checking tests v0.1.0 (/opt/rustwide/workdir/tests)
[INFO] [stderr]     Checking link-section v0.18.3 (/opt/rustwide/workdir/link-section)
[INFO] [stderr]     Checking dtor v1.0.5 (/opt/rustwide/workdir/dtor)
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> dtor/src/example.rs:7:1
[INFO] [stdout]     |
[INFO] [stdout]   7 | #[dtor(unsafe)]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::__dtor_parse_impl` which comes from the expansion of the attribute macro `dtor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    --> dtor/src/parse.rs:395:15
[INFO] [stdout]     |
[INFO] [stdout] 395 |             #[unsafe(link_section =) $link_section]
[INFO] [stdout]     |               +++++++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> dtor/src/example.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | #[dtor(unsafe, method = at_module_exit)]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::__dtor_parse_impl` which comes from the expansion of the attribute macro `dtor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    --> dtor/src/parse.rs:447:15
[INFO] [stdout]     |
[INFO] [stdout] 447 |             #[unsafe(link_section =) $ctor_link_section]
[INFO] [stdout]     |               +++++++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> dtor/src/example.rs:20:1
[INFO] [stdout]     |
[INFO] [stdout]  20 | #[dtor(method = at_binary_exit)]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::__dtor_parse_impl` which comes from the expansion of the attribute macro `dtor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    --> dtor/src/parse.rs:447:15
[INFO] [stdout]     |
[INFO] [stdout] 447 |             #[unsafe(link_section =) $ctor_link_section]
[INFO] [stdout]     |               +++++++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> dtor/src/example.rs:27:42
[INFO] [stdout]     |
[INFO] [stdout]  27 | #[cfg_attr(not(target_vendor = "apple"), dtor(unsafe, method = linker, link_section = ".manual.dtor"))]
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::__dtor_parse_impl` which comes from the expansion of the attribute macro `dtor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    --> dtor/src/parse.rs:395:15
[INFO] [stdout]     |
[INFO] [stdout] 395 |             #[unsafe(link_section =) $link_section]
[INFO] [stdout]     |               +++++++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> dtor/src/example.rs:33:42
[INFO] [stdout]     |
[INFO] [stdout]  33 | #[cfg_attr(not(target_vendor = "apple"), dtor(unsafe, method = linker, link_section = ".dtors", crate_path = ::dtor))]
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::__dtor_parse_impl` which comes from the expansion of the attribute macro `dtor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]    --> dtor/src/parse.rs:395:15
[INFO] [stdout]     |
[INFO] [stdout] 395 |             #[unsafe(link_section =) $link_section]
[INFO] [stdout]     |               +++++++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `dtor` (example "dtor-example") due to 5 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "148b0462804af235adf88c896eb51bff0a4bc2cd1b43bd12c87e00383b880879", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "148b0462804af235adf88c896eb51bff0a4bc2cd1b43bd12c87e00383b880879", kill_on_drop: false }`
[INFO] [stdout] 148b0462804af235adf88c896eb51bff0a4bc2cd1b43bd12c87e00383b880879
